home *** CD-ROM | disk | FTP | other *** search
/ Australian Personal Computer 1998 July / apc37.iso / netkit / mac / dcomet / dcomet.hqx / Documents / 4. Macros < prev    next >
Encoding:
Text File  |  1998-05-04  |  24.7 KB  |  564 lines

  1.  
  2.  
  3.                               4. Macros
  4.  
  5. _____________________________________________________________________________
  6.  
  7.             dataComet documentation (Rev. 1/21/97):
  8.             Copyright 1997 databeast, Inc. All Rights Reserved.
  9.  
  10.    This document has information on (select and use "Find..." to go to the section):
  11.  
  12.          Using Macros
  13.          Using the Macro menu    (see 2. Menus)
  14.          Using the "Define Macros..." dialog
  15.  
  16.                Macro commands
  17.  
  18.          Moving the Host Cursor
  19.          Finding a string or setting the selection
  20.          Sending PF keys
  21.          Controlling the emulator
  22.             Display Literal mode
  23.             Selecting National Character Sets
  24.          Menu commands
  25.          File and Print commands
  26.          File Transfer commands
  27.          Edit commands
  28.          Special copy functions
  29.          Window selection and output redirection commands
  30.          Telnet commands
  31.          Scripting commands
  32.             Delay
  33.             Loop
  34.             Loop break
  35.             Query the user to enter a string
  36.             Inform the user using the prompt line or an alert
  37.             Match String
  38.             Match case
  39.             Triggers
  40.             Scripted login example with user prompt for password
  41.  
  42.       ___________________________________________________
  43.  
  44.          Using Macros
  45.       ___________________________________________________
  46.  
  47.    dataComet allows you to record macros to perform functions such as moving the cursor, making a selection, or appending the selection to a file.  Dialogs in the Macro menu allow you to paste in or enter a sequence of macro commands; macros can also be entered and executed in the .edit window.  Pressing the "Shift-Enter" key while an edit window is the frontmost window causes the current line or selection to be executed as a macro (pressing the Enter key alone sends the selection as plain text).  
  48.  
  49.    You can execute the examples below in the frontmost emulator session by selecting them and pressing "Shift-Enter"...
  50.  
  51.    There are many other ways in which you can trigger dataComet macros:
  52.  
  53.       *  With key-combinations you enter on the keyboard (such as  
  54.          Control Option A, set using "Define key macros");
  55.  
  56.       *  With a mouse single- or double-click (set using "Set   
  57.          single-click macro");  
  58.  
  59.       *  You can also define a macro to execute when a connection 
  60.          with a host is complete ("Set Connection macro...") or when 
  61.          the user closes the connection ("Set Close macro...");   
  62.  
  63.       *  You can define macros as menu items in the "Macro" menu.
  64.  
  65.       *  Option-clicking on button controls brings up a dialog which 
  66.          allows you to rename the control and set it to execute 
  67.          a macro when clicked.
  68.  
  69.    The Key Macro on/off switch is in the Macro menu; when macros are on, an M appears in a box on the top left hand side of the screen.  When a key macro is currently executing, the M appears in reverse video; the reverse M also appears if keystrokes are pending execution in the key queue.  If you wish to cancel the execution of a macro or pending keystrokes, use Command-'.'.
  70.  
  71.  
  72.       ___________________________________________________
  73.  
  74.                     Macrosâ•”
  75.  
  76.          Using the "Define Macros..." dialog
  77.       ___________________________________________________
  78.  
  79.    When the dialog for entering key macros comes up, you have three options:  select a key by pressing it, select a macro button or menu by option-clicking on it, or show a list of macros currently associated with keys and buttons.  
  80.  
  81.    "Press the key-combination you want to remap...":  When this prompt appears, you can press a key-combination (or option-click on a button or menu macro); the dialog will show you the name of the key, and will allow you to enter actions (text and commands) you want the key-combination to produce.  If there is a key macro associated with that key, the Delete key will be turned on, and the actions associated with the key will be displayed.  Note that holding down the mouse button when you press the key-combination will identify the key as an "Alt-key," and such a macro will only be matched if the "ALT" state is set using the "!CA" command documented below (this allows you to switch keyboard configurations with a keystroke, and is used with library keymapping--see the "ALA" dataComet configuration document for an example of extensive key remapping).  When the "ALT" state is on, the boxed "M" which shows that key macros are on changes to an "m". 
  82.  
  83.    Note that as a convenience the buttons in the dialog will be executed by the emulator if no key macro or other macro has been selected, so you can use it also as a function key pad.
  84.  
  85.    There are several check boxes in the dialog:
  86.  
  87.    "Global":  This check box shows whether a key macro is a global macro which can be used by all sessions (saved in the "Comet Default" document).  Setting it on allows you to set a key macro as a global macro.
  88.  
  89.    "Ignore Caps Lock":  Ignore the caps lock key when matching key macros.  
  90.  
  91.    "Use Command Font":  Use the "Comet Chicago" font, which displays common macro commands as buttons.  If this option is off, the frontmost window's font is used.  If you want to enter international characters, this option needs to be off.
  92.  
  93.    You can modify the macro text by entering new text or using copy and paste with the Command-C and Command-V keys.  Command-. cancels your modifications to the key macro.  When you are finished, you must press the Set button if you want the changes to take effect. The program will then alert you if your entry has errors in the length of the codes.  (PLEASE NOTE that the codes are not checked for validity until you execute a key macro by typing the key when you have quit the dialog and Key Macros are set on!  Alerts will then inform you of any errors.)   If there is no error, the macros are updated immediately; there is no need to save the configuration to save the key macros in the document.  If you decide not to change the text, you should press the Cancel button.  You can then quit if you wish, or add, remove, or modify other keys.
  94.  
  95.    Text which you enter in the key macro window can be interpreted as either plain text or commands.  Individual characters stand for themselves--except for '!' & '\', which can be entered by using '!!' and '\\'.  These two characters are special:  '!' is used to introduce a command; '\' is used to enter a number, specified using three decimal digits, such as "\010".   This numeric entry can be used either in place of a character, or to enter a decimal numeric value.  
  96.  
  97.    ASCII control characters can be entered by pressing the option key and the character ('a' through 'z', Space, '[', ']', '\', '@', '^', '_', or '?').  
  98.  
  99.    Ordinary text can be entered directly in the text-editing field of the dialog.  Commands are entered as a '!' (exclamation point) followed by a pair of characters; the first character selects a class of action, and the second the particular type of this action.   In IBM mode, the macro dialogs present buttons to perform input of all the IBM function keys.  (PLEASE NOTE that dataComet does not automatically map the Return key to produce an "Enter," so you need to press the "Enter" button to send an Enter command to the host using a macro.)  The action classes and associated characters available in both ASCII and the "IBM Keymapping" modes are as follows:  
  100.  
  101.  
  102.       ___________________________________________________
  103.  
  104.          Moving the Host Cursor
  105.       ___________________________________________________
  106.  
  107.    Move to X-coordinate:  (X) followed by a decimal number specifying the column number (0-255).
  108.  
  109.       !X\000
  110.  
  111.    Move to Y-coordinate:  (Y) followed by a decimal number specifying the row number (0-32).  The Y command always positions the cursor in column 0.
  112.  
  113.       !Y\000
  114.       !Y\002!X\049  position the cursor on 50th column of the 3rd line
  115.  
  116.    Move the cursor:  (M), and a code:
  117.  
  118.       !ML   Move the cursor to the left;
  119.       !MD   Move the cursor down;
  120.       !MU   Move the cursor up;
  121.       !MR   Move the cursor right.
  122.  
  123.    The IBM 3270 also supports:
  124.  
  125.       !M0   Move the cursor home;
  126.       !M<   Move the cursor backwards one field;
  127.       !M>   Move the cursor forward one field;
  128.       !MN   Do a Newline.
  129.  
  130.  
  131.       ___________________________________________________
  132.  
  133.          Finding a string or setting the selection
  134.       ___________________________________________________
  135.  
  136.  
  137.    Search forward or backward for a string:  ('!/>' or '!/<'), followed by a string terminated with another macro or null ASCII character.  
  138.  
  139.       !>\006!/>make!D\001
  140.  
  141.    To make a selection:  you must use four commands to set a selection range, each of which uses a number to specify the position on the screen numbered from 0; when all four codes have been received, the selection will be made.  (Note also the "!Ea" macro above which selects the current screen only, and "!EA" which selects the screen and the entire scrollback buffer.)
  142.  
  143.       !S\000   selection start Y position, followed by the position 
  144.                number;
  145.       !T\000   selection start X position, followed by the position 
  146.                number; 
  147.       !U\023   selection end Y position, followed by the position 
  148.                number;
  149.       !V\080   selection end X position, followed by the position 
  150.                number.
  151.  
  152.       !S\000!T\000!U\002!V\080
  153.  
  154.    Shift selection left:  (<) followed by the number of spaces to shift the selection.
  155.  
  156.       !<\005
  157.  
  158.    Shift selection right:  (>) followed by the number of spaces to shift the selection.
  159.  
  160.       !>\080
  161.  
  162.    Set selection length:  (#) followed by the new length.
  163.  
  164.       !#\004
  165.  
  166.  
  167.       ___________________________________________________
  168.  
  169.          Sending PF keys
  170.       ___________________________________________________
  171.  
  172.  
  173.       !P\001 through !P\036 map to PF keys 1 through 36 for both ASCII and IBM emulations.
  174.  
  175.    Send VT220 keys:
  176.  
  177.       !P\128      Find
  178.       !P\129      Insert
  179.       !P\130      Remove
  180.       !P\131      Select
  181.       !P\132      Previous Screen
  182.       !P\133      Next Screen
  183.  
  184.    Send 3270 PF action keys:
  185.  
  186.       !P\000      Sys Request
  187.       !P1         PA1
  188.       !P2         PA2
  189.       !P3         PA3
  190.       !PC         Clear
  191.       !PE         Enter
  192.  
  193.    Send 3270 local keys:
  194.  
  195.       !A          Backspace blank (that's a space there!)
  196.       !AB         Backspace delete
  197.       !AD         Delete character to right (x->)
  198.       !AE         Erase to end of field
  199.       !AI         Toggle insert mode
  200.       !AR         Reset
  201.       !AS         Light pen select at the mouse position 
  202.       !As         Light pen select at the cursor position
  203.  
  204.       !AX         Erase Input
  205.  
  206.  
  207.       ___________________________________________________
  208.  
  209.          Controlling the emulator
  210.       ___________________________________________________
  211.  
  212.  
  213.    Perform an emulator action:  (C) followed by a code:
  214.  
  215.       !CA   Set the ALT (mousedown state) modifier bit for all 
  216.             keypresses.  This allows you to have an Alternate macro 
  217.             set.
  218.       !Ca   Set ALT off.
  219.       !CB   Hide the Desktop from the user (for kiosk security).
  220.       !CC   Close the session without a dialog.
  221.       !CE   Show the .edit window.
  222.       !Ce   Show the terminal emulator window.
  223.       !CD   Show MacTCP smoothed round-trip time and time-out
  224.             in the upper right corner of the screen.
  225.       !Cd   Show MacTCP packets sent and received in the upper 
  226.             right corner of the screen.  This is the default.
  227.             The send counter becomes inverted when a resend
  228.             is performed.
  229.       !CF   Close the copyright/help textwindow.
  230.       !CH   Don't update the display.
  231.       !CS   Update the display as usual.
  232.       !Cs   Display cursor position in the emulator window status bar.
  233.       !CI   Draw each character promptly as it is processed (ASCII only).
  234.       !Ci   Wait to update screen:  draw characters en masse.
  235.       !CM   Set the top bit (meta-bit) of the next ASCII character. 
  236.       !Cp   Set an IBM PF key to page when pasting text (default is Enter). 
  237.       !CR   Restore line 25.
  238.       !CT   Turn on cursor positioning using the mouse.
  239.       !Ct   Turn off cursor positioning.
  240.       !CV   Turn on VT100 auto-print (i.e., print line on CR, LF, FF).
  241.       !Cv   Turn off VT100 auto-print.
  242.       !CZ   Toggle fast drawing mode (useful for library data entry 
  243.             checking).
  244.       !C>string\000
  245.             send a string, usually a VT100 parameter, directly to the
  246.             emulator.
  247.  
  248.             Display Literal mode
  249.  
  250.       !CL   Display all characters sent and received as literals in the
  251.             .edit window.  In IBM mode, the streams are presented
  252.             in an intelligible format; ASCII mode is presented raw.
  253.             This mode is very useful for debugging or analyzing host 
  254.             application output to the emulator.
  255.       !Cl   Display Telnet layer transmissions also.
  256.  
  257.  
  258.             Selecting National Character Sets
  259.  
  260.    For VT100 emulators you can select a National Character Set which is mapped into ISO-Latin-1, or the Macintosh character set if a "Control Translation" menu mapping is selected (for this mapping to work correctly, you must select a Macintosh font such as Monaco).  
  261.  
  262.    The '!N\000' and '!n\000' macros set the G0 and G1 fonts, respectively.  The character sets are selected using a numeric argument:
  263.  
  264.            \000  US-ASCII
  265.            \001  ISO-Latin 1
  266.            \002  British
  267.            \003  Dutch
  268.            \004  Finnish
  269.            \005  French
  270.            \006  French Canadian
  271.            \007  German
  272.            \008  Italian
  273.            \009  Norwegian/Danish
  274.            \010  Spanish
  275.            \011  Swedish
  276.            \012  Swiss
  277.            \013  Portugese
  278.            \014  DEC Supplementary
  279.            \128  VT Graphic Symbols
  280.  
  281.  
  282.       ___________________________________________________
  283.  
  284.          Menu commands
  285.       ___________________________________________________
  286.  
  287.  
  288.    Macros from !\000 to !\031 correspond to the menu items from left to right, with the items numbered from 1 (i.e., "!\<3-digit menunum>\<3-digit itemnum>").  Adding 64 to the item number sets the shift key to the menu execution; adding 128 to the item number sets the capslock key the menu execution; adding 192 to the item number disables it.  (Macro recording provides an easy way to get an item's macro equivalent, since menu items selected are included in the macro.)  Menu number 31 corresponds to the Finder menu at the far right (these items can only be disabled, not executed).
  289.  
  290.       !\001\001   Execute the "File New" menu item to open a new session.  
  291.       !\001\065   Execute the "File New" menu item to open a new text document.  
  292.       !\001\129   Disable the "File New" menu item.
  293.       !\031\192   Disable the Finder menu.
  294.       !\031\193   Disable the "Hide Comet" Finder menu item.
  295.  
  296.  
  297.       ___________________________________________________
  298.  
  299.          File and Print commands
  300.       ___________________________________________________
  301.  
  302.  
  303.    Perform a file action:  (F) followed by a code:
  304.  
  305.       !FA   Append the selection to a file.
  306.       !FB   Append the selection to a file selected through a
  307.             Standard Put File dialog.
  308.       !FD   Print the window selection using dataComet's serial
  309.             print routine.
  310.       !Fd   Perform a print page eject.
  311.       !FF   Bring the Finder or application launchpad to the
  312.             front, closing sessions which are not configured
  313.             to stay open on Mandarin sleep events.
  314.       !Ff   Bring the Finder or application launchpad to the
  315.             front without closing any sessions.
  316.       !FP   Print the emulator screen using Apple's standard Print 
  317.             Manager routines.
  318.       !Fp   Print the .edit window.
  319.       !Fq   Print selection in the .edit window.
  320.       !FS   Save the selection in a file; if a file has not been 
  321.             opened, a Put File dialog will be performed.
  322.       !FT   Save the selection in a file; always present the Put File 
  323.             dialog.
  324.       !FV   Toggle VT100 auto-print mode (the "Local Print" key).
  325.       !Fv   Set VT100 auto-print off.
  326.  
  327.       !FOfilename\000
  328.             Open a document by name, e.g.,
  329.  
  330.                !FO:Documents:0.1. Shortcuts\000
  331.  
  332.  
  333.       ___________________________________________________
  334.  
  335.          File Transfer commands
  336.       ___________________________________________________
  337.  
  338.    The following commands work with X-, Y-, and Z-Modem.
  339.  
  340.    Perform a file transfer action:  (f) followed by a code:
  341.  
  342.       !fT   Trace packets.
  343.       !ft   Don't trace packets.
  344.       !fD   Dump packets.
  345.       !fd   Don't dump packets.
  346.  
  347.       !fUfilename\000
  348.             Upload a file using the default serial transfer method.
  349.  
  350.       !fFfoldername
  351.             Set the download folder, e.g.,
  352.  
  353.                !fF:Downloads:\000
  354.  
  355.       ___________________________________________________
  356.  
  357.          Edit commands
  358.       ___________________________________________________
  359.  
  360.  
  361.    Perform an editing action:  (E) followed by a code:
  362.  
  363.       !ES   Use the standard text mode when copying the selection.
  364.       !ET   Use the Table mode when copying the selection.
  365.  
  366.       !EA   Select the whole screen buffer or text.
  367.       !Ea   Select the current emulator screen.
  368.       !EL   Select the line where the mouse cursor is located.
  369.       !El   Select the line where the emulator cursor is located.
  370.       !EW   Select the word where the mouse cursor is located 
  371.             (the default double-click action).
  372.       !Ew   Select the word where the emulator cursor is located 
  373.  
  374.       !EB   Append the selection to the session's .edit window.
  375.       !Eb   Append the selection to the session's .edit window without returns.
  376.       !EC   Copy  the selection to the Clipboard.
  377.       !Ec   Copy  the selection to the Clipboard without returns.
  378.  
  379.       !EM   Execute the selection range from the .edit window.
  380.       !Em   Send the selection range from the .edit window to the host.
  381.       !EX   Cut the selection range (works only with the .edit window).
  382.       !EV   Paste the selection into the emulator  screen or the .edit
  383.             window.
  384.  
  385.       !B\000   Append the emulator screen to the logs & scrollback buffer.
  386.       !B\nnn   Append a line (001-nnn) to the logs & scrollback buffer.
  387.  
  388.  
  389.       ___________________________________________________
  390.  
  391.          Special copy functions
  392.       ___________________________________________________
  393.  
  394.  
  395.    Perform a formatted copy:  (c) followed by a code: 
  396.  
  397.       !cC   Clear the Clipboard.
  398.       !ca   Copy an RLIN library Name Authority record and convert
  399.             it into a NOTIS record; if the first line of the
  400.             selection does not contain the "ID:" field, it is 
  401.             assumed to be a continuation of a record and is 
  402.             appended to the portion of a record in the Clipboard.
  403.       !cA   As above, except this copy option allows supports
  404.             users who are privileged to do deletions on Name
  405.             Authority records under NOTIS.
  406.       !cb   Copy an RLIN Book record and convert it into a NOTIS
  407.             record, as described above.
  408.       !cB   As above, except this copy option allows supports
  409.             users who are privileged to do deletions on Book
  410.             records under NOTIS.
  411.  
  412.  
  413.       ___________________________________________________
  414.  
  415.          Window selection and output redirection commands
  416.       ___________________________________________________
  417.  
  418.    Bring a window to the front (w) followed by the number associated with it in the Window menu:
  419.  
  420.       !w\001
  421.  
  422.    Perform a window action (W) followed by a code:
  423.  
  424.  
  425.       !WA\127\127AppleMenuItemName\000   
  426.             Opens an item which appears in the Apple menu by name.
  427.             The two '\127' characters are "Delete" characters, which are 
  428.             translated into NUL characters (for technical reasons...).
  429.  
  430.                 !WA\127\127AppleCD Audio Player\000
  431.  
  432.       !WSwindowname\000   
  433.             Bring a window to the front; WS followed by the       
  434.             window name and terminated with another macro or null 
  435.             ASCII character.
  436.  
  437.       !W>windowname\000      
  438.             Make a window the output window, so that typed
  439.             characters, PF keys, macro characters, and pastes will appear
  440.             in the named window.
  441.  
  442.          !W>\000      
  443.    
  444.             Make the emulator window the output window, so that typed
  445.             characters, PF keys, macro characters, and pastes will appear
  446.             in the emulator window, even though the .edit window is on top.
  447.  
  448.       !W}   Reset the output window to the standard output.
  449.             All keys and macros are routed to a session's .edit window while it
  450.             is the front window.
  451.  
  452.  
  453.       ___________________________________________________
  454.  
  455.             Telnet commands
  456.       ___________________________________________________
  457.  
  458.  
  459.       !tA   send Are You There;
  460.       !tB   send Telnet Break.
  461.       !tC   send Interrupt;
  462.       !tU   send Abort;
  463.       !tx   send Erase Character;
  464.       !tX   send Erase Line.
  465.       !ta   Type IP address at cursor.
  466.       !tD   Try to fix MacTCP's resend time-out.
  467.       !td   Don't try to fix MacTCP's resend time-out.  This is the default.
  468.  
  469.       !tM   disable Return key remapping
  470.       !tm   allow Return key remapping (i.e., the following items)
  471.       !tR   Return sends Carriage Return
  472.       !tr   Return does not send Carriage Return
  473.       !tL   Return sends Line Feed
  474.       !tl   Return does not send Line Feed
  475.       !tN   VT100 newline mode on
  476.       !tn   VT100 newline mode off
  477.  
  478.  
  479.       ___________________________________________________
  480.  
  481.          Scripting commands
  482.       ___________________________________________________
  483.  
  484.  
  485.    Record user input as macro commands:  (R) followed by a code:
  486.  
  487.       !RB   begin recording;
  488.       !RE   end recording and place the recording in the scrap for
  489.             pasting into the .edit window or key macro dialog.
  490.  
  491.    Delay:  (D) followed by the number of seconds to wait specified as \nnn, e.g. "!D\001".
  492.  
  493.    Delay Ticks:  (d) followed by the number of ticks (1/60 seconds) to wait specified as \nnn, e.g. "!d\001".
  494.  
  495.    Loop:  (L) followed by the number of times to repeat the sequence of macro commands which follows; this sequence must be terminated by an entry containing "!L\000" (loop zero).  Using '\255' for the count will cause the loop to continue until the Command-. "cancel" key is pressed.
  496.  
  497.       !L\001echo hello !L\000
  498.  
  499.    Loop break:  (l) followed by a level, \001 or \002.  
  500.  
  501.       !l\001   break out of a match case.
  502.       !l\002   break out of a match case and any enclosing Loop.
  503.  
  504.    Query the user to enter a string:  (Q) followed by P, followed by the prompt, followed by a "!Q". macro command to terminate the prompt string.  The user's response will be sent out to the host.  To enter a password, use "!QS" to replace the characters with dots.  Both the query and the response must be under 256 characters.
  505.  
  506.        !QPEnter ID:!QQ
  507.  
  508.    Inform the user using the prompt line or an alert:  (q) followed by 'a' if you wish an alert, or 'b' if you want to sound the bell; otherwise the prompt line in the button bar is set.
  509.  
  510.        !qaThis is an alert!!!qa
  511.  
  512.           or
  513.  
  514.        !qb!qzThis is a 25th line prompt!!!qz
  515.  
  516.           or, finally
  517.  
  518.        !qz!qz
  519.  
  520. will clear the prompt line.
  521.  
  522.    Match String:  Delay session macro processing until host output matches string:  (Z) followed by a number indicating the number of seconds to wait before aborting; if the number is '\255', it waits forever if the string is not matched.  This entry is followed by a list of characters to match, terminated by any non-character macro command (usually a Delay entry).  You might use this in a login as follows...  
  523.  
  524.    Match case:  Execute a macro when host output matches a string:  (z) followed by a number indicating the number of seconds to wait before aborting (if the number is '\255', it continues waiting until a "!l\001" breaks out of the match case loop or a "!l\002" breaks out of a repeat loop containing the match case macro; Note:  match case macros cannot contain a loop), AND THEN followed by a string terminated by a macro, ANOTHER !z\000 (the numeric argument is ignored for following cases), string, macro, ..., TERMINATED by a !Z\000.  Processing of macro commands on the macro queue and new keystrokes is delayed until the match is found.
  525.  
  526.    Triggers:  If you use "!Z\001", the match case macro is interpreted as a trigger, and the processing of macro commands and new keystrokes continues while the match case waits for matches and handles them.  
  527.  
  528.    Here's an example of a match case macro with paused input:
  529.  
  530.       cat shoplist
  531. !z\030dog!D\000food
  532. !z\255cat!D\000litter
  533. !z\255frog!D\000flies
  534. !l\001!Z\000
  535.  
  536. produces
  537.  
  538.    litter
  539.    food
  540.    litter
  541.    litter
  542.    food
  543.    flies
  544.  
  545. when shoplist is a file containing
  546.  
  547.    dogcatcatdogfrogcatdog
  548.  
  549. Note that the "cat" in "cat shoplist" is also matched!
  550.  
  551.  
  552.  
  553.       ___________________________________________________
  554.  
  555.             Scripted login example with user prompt for password:
  556.  
  557.       !Z\030login:!D\000myloginname!Z\030password:!D\000!QSEnter password:!QQ
  558.  
  559.       ___________________________________________________
  560.  
  561.  
  562.  
  563. _____________________________________________________________________________
  564.